// 循环语句
// 一、while
// 基本语法
// while(条件){
//     // 条件为真（转成布尔值为true）时执行的代码
// }

// 注意；循环的条件非常重要，是一个循环的入口和出口
// 死循环：条件永远满足，循环无法结束，如果要结束的话，需要按ctrl+C

// 1+2+3+4+5+。。。+100
// let i=1;//i表示的是1-100之间每一个数字
// let sum=0;//sum表示求和结果

// while(i<=100){
//     // 循环语句

//     sum+=i;

//     i++;

//     console.log(sum,i);
// }

// console.log(sum,i);//5050


// 二、do...while
// 基本语法
// do{
//     // 循环语句（循环体）
// }while(条件)

// let i=1;//i表示的是1-100之间每一个数字
// let sum=0;//sum表示求和结果
// do{
//     // 先执行循环体，再执行条件，所以就算条件不满足，循环体至少会被执行一次

//     sum+=i;

//     i++
//     console.log(sum,i);

// }while(i<=100);

// console.log(sum,i);


// 三、for循环(使用最多的一种循环)
// 基础语法
// for(表达式1;条件;表达式2){
//     // 条件为真（转成布尔值为true）时执行的循环体
// }
// let i=1;
// let sum = 0;


// i是在循环语句中使用let声明的变量，因此是一个局部变量
// for (let i=1; i <= 100; i++) {
//     // 循环体
//     sum += i;
//     i++;
// }

// console.log(sum,i);


// 练习1：输出100-200之间3的倍数
// let i=100;
// while(i<=200){
//     if(i%3==0){
//         console.log(i);
//     }
//     i++;

// }


// let i=100;
// do{
//     if(i%3==0){
//         console.log(i);
//     }
//     i++;
// }while(i<=200);


// for(let i=100;i<=200;i++){
//     if(i%3==0){
//         console.log(i);
//     }
// }

// 练习2：输出100-999之间的水仙花数
// 水仙花数：153=1^3+5^3+3^3=1+125+27=153  这个数字每一位数的立方和等于这个数本身

// let i=100;
// while(i<=999){
//     // 拆分该数字的个十百位
//     let g=i%10;
//     let s=parseInt(i/10)%10;
//     let b=parseInt(i/100);

//     // 求个十百位的立方和
//     let sum=Math.pow(g,3)+Math.pow(s,3)+Math.pow(b,3);

//     // 判断立方和是否等于这个是本身
//     if(sum==i){
//         console.log(i);
//     }
//     i++;

// }

// 四、循环嵌套：外循环走一次，内循环要走完

// for (let i = 1; i <= 5; i++) {

//     for (let j = 1; j <= 5; j++) {

//         for(let z=1;z<=5;z++){
//             console.log("i=", i, "j=", j,"z=",z);

//         }

//     }
// }


// 五、break和continue
// 1.break:结束离它最近的swicth语句或者循环语句;break后面的代码都不会执行;
// break如果写在if语句中，那么if语句必须要在循环语句或者switch中

// 2.continue：只是用在循环语句，表示跳过最近的一次循环，直接进入下一次;continue后面的代码不会执行

// for (let i = 1; i <= 5; i++) {

//     for (let j = 1; j <= 5; j++) {

//         for (let z = 1; z <= 5; z++) {
            
//             if(z%2==0){
//                 continue;
//             }
//             console.log("i=", i, "j=", j, "z=", z);

//         }

//     }
// }


// switch(2){
//     case 1:
//         console.log(1111);
//         break;
//     case 2:
//         for(let i=0;i<=5;i++){
//             if(i>3){
//                 break;
//             }
//             console.log(i);//0 1 2 3
//         }
//         console.log(22222222);//22222222
        
//     case 3:
//         console.log(33333333);//33333333
//         if(true){
//             break;
//         }
//         break;
//     case 4:
//         console.log(444444);
// }


// 练习3：输入一个数字，判断该数字是否是质数
// 举例：输入7，输出7是质数
// 举例：输入9，输出9不是质数

// 7这个数除以2 3 4 5 6，都除不尽，就表示是质数
// 9这个数除以2，3，找到一个可以整除的数，就表示不是质数

let readline=require("readline-sync");
// console.log("请输入一个数字：");
// let num=readline.question("");
// let flag=true;//flag这个变量表示开关，默认表示用户输入的数字是质数
// // 判断输入的是否是数字
// if(!isNaN(num) && num>1){
//     // 判断质数
//     for(let i=2;i<num;i++){
//         // 找到可以整除的数字时，就表明用户输入的数字不是质数，可以关闭开关
//         if(num%i==0){
//             flag=false;
//             break;//结束循环
//         }
//     }
//     if(flag){
//         console.log(num,"是质数！");
//     }else{
//         console.log(num,"不是质数！");

//     }

// }else if(num==1){
//     console.log("1不是质数！");

// }else{
//     console.log("请输入数字！");
// }


// 练习4:九九乘法表

// let str="";//用于拼接算式
// // 外循环控制行数
// for(let i=1;i<=9;i++){
//     // 内循环控制每一行有几个算式
//     for(let j=1;j<=i;j++){
//         // 字符串拼接
//        str+=`${i}*${j}=${i*j}  `;

//     }
//     // 输出拼接好的算式
//     console.log(str);
//     // 清空字符串，为下一轮拼接做准备
//     str="";

// }


// 练习5：输入一个数字，判断该数字是否是回文数
// 回文数：121 12321 1221
// 需要倒序输出该数字，如果倒序输出的数字等于原数字，就是回文数
console.log("请输入一个数字：");
let num=readline.question("")*1;//1234  0123
let x;//x表示拆分出来的每一位数字
let newNum="";//表示倒序组合的新数字
if(!isNaN(num)){
    let oldNum=num;//用一个变量保存用户输入的原始数字，便于后期比较
    // 拆分数字每一位数  undefined>0 =>NaN>0=>false
    // 同时需要倒序组合新的数字
    while(num>0){
        x=num%10;//获取到最后一位
        num=parseInt(num/10);//123
        newNum=newNum+x;//字符串拼接
        console.log(x);
    }

    // 新的数字和原数字进行比较
    if(newNum==oldNum){
        console.log("是回文数！");
    }else{
        console.log("不是回文数！");
    }

}else{
    console.log("请输入数字！");
}